The present invention relates generally to the field of power management in computer systems, and in particular to a method and apparatus for ensuring that a pointing device and its associated driver maintain synchronization when the computer system is in a low-power state.
With the increasing popularity of mobile computers, as evidenced by the growth in the market for so-called "notebook" or "laptop" computers, power consumption has become an important consideration for computer designers. Power conservation efforts have been directed at virtually every aspect of such computers, including hardware, firmware and software. For example, most of today's popular processors, such as Intel's Pentium.RTM. family of processors, are capable of operating in a low-power mode. In addition, many computers now include power management functionality as part of an installed BIOS (Basic Input-Output System). Software designers are also becoming more power-conscious, writing "green" applications which are themselves power efficient while cooperating with the aforementioned hardware and firmware facilities.
One of the problems faced by computer designers, firmware developers and software developers with respect to power management is how to deal with users. Users present an unpredictable source of potential interference with power management efforts through intentional and unintentional interactions with the computer system, creating conflicts between normal processing and power management processing. For example, a user may be unconsciously moving a pointing device, such as a mouse, a track ball, or a light pen, for no processing-related reason, but such a movement may have the unintended effect of postponing power conservation in many power management schemes.
Another problem may occur when the user initiates power management processing by, for example, pressing the "suspend/resume" button or closing the lid, while the computer is in the middle of processing information from a pointing device. This can result in the pointing device losing synchronization with its associated foreground operating system (OS) device driver, causing the OS device driver to misinterpret or ignore movements of the pointing device when the computer "wakes up" from a suspended condition. A common symptom of such a problem is a lack of correspondence between movements of a mouse and the on-screen cursor.
There is presently no satisfactory solution to the problem of interference with power management in computer systems caused by user interactions with input devices.